// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// SharedOptions=-Da=true -Db=false -Dc=3 -Dd=STRING

// Formatting can break multitests, so don't format them.
// dart format off

import "package:expect/expect.dart";

class Foo {}

const
    bool //   //# 01: ok
    int //    //# 02: compile-time error
    String // //# 03: compile-time error
    Foo //    //# 04: compile-time error
    a = const bool.fromEnvironment('a');

const
    bool //   //# 05: ok
    int //    //# 06: compile-time error
    String // //# 07: compile-time error
    Foo //    //# 08: compile-time error
    b = const bool.fromEnvironment('b');

const
    bool //   //# 09: compile-time error
    int //    //# 10: ok
    String // //# 11: compile-time error
    Foo //    //# 12: compile-time error
    c = const int.fromEnvironment('c');

const
    bool //   //# 13: compile-time error
    int //    //# 14: compile-time error
    String // //# 15: ok
    Foo //    //# 16: compile-time error
    d = const String.fromEnvironment('d');

main() {
  Expect.equals(a, true);
  Expect.equals(b, false);
  Expect.equals(c, 3);
  Expect.equals(d, 'STRING');
}
